home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / C / LinkSpcB.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-04-19  |  5.8 KB  |  203 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Locrian:WWDCSun:C:LinkSpcB.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: somc/smemit.c
  7.  *     SOM Emitter emith.dll: somc/smmain.c
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Theory of Operation
  13.  * 
  14.  * 
  15.  *  Classes defined in this interface
  16.  * 
  17.  */
  18.  
  19.  
  20. #ifndef SOM_ODBaseLinkSpec_h
  21. #define SOM_ODBaseLinkSpec_h
  22.  
  23.  
  24. #include <som.h>
  25.  
  26. /*
  27.  * -- This emitter treats Method Tokens as Thunks by default
  28.  * -- Use the sc modifier "nothunks" to change this default
  29.  */
  30. #undef somresolve_
  31. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  32.  
  33. /*
  34.  * Define the class name as an object type
  35.  */
  36. #ifndef ODBaseLinkSpec
  37. #define ODBaseLinkSpec SOMObject
  38. #endif
  39. #include <ODObject.h>
  40.  
  41. /*
  42.  * Start of user-defined types:
  43.  */
  44. #ifndef ODExtension
  45.     #define ODExtension SOMObject
  46. #endif /* ODExtension */
  47. #ifndef ODStorageUnit
  48.     #define ODStorageUnit SOMObject
  49. #endif /* ODStorageUnit */
  50. #ifndef ODPart
  51.     #define ODPart SOMObject
  52. #endif /* ODPart */
  53. #ifndef ODDraft
  54.     #define ODDraft SOMObject
  55. #endif /* ODDraft */
  56.  
  57. /*
  58.  * End of user-defined types.
  59.  */
  60.  
  61. #define ODBaseLinkSpec_MajorVersion 1
  62. #define ODBaseLinkSpec_MinorVersion 0
  63.  
  64. /*
  65.  * External name shortening if required
  66.  */
  67. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  68. #define ODBaseLinkSpecNewClass c
  69. #define ODBaseLinkSpecClassData d
  70. #define ODBaseLinkSpecCClassData x
  71. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  72. /*--------------Migration------------*/
  73. #define ODBaseLinkSpec_classObj ODBaseLinkSpecClassData.classObject
  74. #define _ODBaseLinkSpec ODBaseLinkSpec_classObj
  75.  
  76. /*
  77.  * Declare the class creation procedure
  78.  */
  79.  
  80. #if applec ^ PRAGMA_LIB_EXPORT
  81. #pragma lib_export on
  82. #endif
  83.  
  84. SOMEXTERN SOMClass * SOMLINK ODBaseLinkSpecNewClass(integer4 somtmajorVersion,
  85.         integer4 somtminorVersion);
  86.  
  87. /*
  88.  * Declare the class data structure
  89.  */
  90. SOMEXTERN struct ODBaseLinkSpecClassDataStructure {
  91.     SOMAny *classObject;
  92.     somMToken WriteLinkSpec;
  93.     somMToken ReadLinkSpec;
  94.     somMToken reserved1;
  95. }
  96. #ifdef SOM_NO_DATA_EXPORTS
  97.     * ODBaseLinkSpecGetClassData ( void );
  98. #   undef ODBaseLinkSpecClassData
  99. #   define ODBaseLinkSpecClassData (*ODBaseLinkSpecGetClassData())
  100. #else
  101.       ODBaseLinkSpecClassData;
  102. #endif /* SOM_NO_DATA_EXPORTS */
  103.  
  104. #if applec ^ PRAGMA_LIB_EXPORT
  105. #pragma lib_export off
  106. #endif
  107.  
  108.  
  109. /*
  110.  * Declare the C specific class data structure
  111.  */
  112. SOMEXTERN struct ODBaseLinkSpecCClassDataStructure {
  113.     somMethodTabs parentMtab;
  114.     somDToken instanceDataToken;
  115. } ODBaseLinkSpecCClassData;
  116.  
  117. /*
  118.  * New and Renew macros for ODBaseLinkSpec
  119.  */
  120. #define ODBaseLinkSpecNew() \
  121.     ( ( ! (ODBaseLinkSpecClassData.classObject) && \
  122.         (ODBaseLinkSpecNewClass(ODBaseLinkSpec_MajorVersion, ODBaseLinkSpec_MinorVersion)) ), \
  123.       (_somNew(ODBaseLinkSpecClassData.classObject)) )
  124. #define ODBaseLinkSpecRenew(buf) \
  125.     ( _somRenew(ODBaseLinkSpecClassData.classObject, buf) )
  126.  
  127. /*
  128.  * Override method: somInit
  129.  */
  130. #define ODBaseLinkSpec_somInit(somSelf) \
  131.     SOMObject_somInit(somSelf)
  132.  
  133. /*
  134.  * Override method: somUninit
  135.  */
  136. #define ODBaseLinkSpec_somUninit(somSelf) \
  137.     SOMObject_somUninit(somSelf)
  138.  
  139. /*
  140.  * New Method: WriteLinkSpec
  141.  */
  142. typedef void   (SOMLINK *somTD_ODBaseLinkSpec_WriteLinkSpec)(ODBaseLinkSpec *somSelf, Environment *ev,
  143.         ODStorageUnit* su);
  144. #define somMD_ODBaseLinkSpec_WriteLinkSpec "::ODBaseLinkSpec::WriteLinkSpec"
  145. #define ODBaseLinkSpec_WriteLinkSpec(somSelf,ev,su) \
  146.     (SOM_Resolve(somSelf, ODBaseLinkSpec, WriteLinkSpec) \
  147.     (somSelf,ev,su))
  148. #ifndef SOMGD_WriteLinkSpec
  149.     #if (defined(_WriteLinkSpec) || defined(__WriteLinkSpec))
  150.         #undef _WriteLinkSpec
  151.         #undef __WriteLinkSpec
  152.         #define SOMGD_WriteLinkSpec 1
  153.     #else
  154.         #define _WriteLinkSpec ODBaseLinkSpec_WriteLinkSpec
  155.     #endif /* _WriteLinkSpec */
  156. #endif /* SOMGD_WriteLinkSpec */
  157.  
  158. /*
  159.  * New Method: ReadLinkSpec
  160.  */
  161. typedef void   (SOMLINK *somTD_ODBaseLinkSpec_ReadLinkSpec)(ODBaseLinkSpec *somSelf, Environment *ev,
  162.         ODStorageUnit* su);
  163. #define somMD_ODBaseLinkSpec_ReadLinkSpec "::ODBaseLinkSpec::ReadLinkSpec"
  164. #define ODBaseLinkSpec_ReadLinkSpec(somSelf,ev,su) \
  165.     (SOM_Resolve(somSelf, ODBaseLinkSpec, ReadLinkSpec) \
  166.     (somSelf,ev,su))
  167. #ifndef SOMGD_ReadLinkSpec
  168.     #if (defined(_ReadLinkSpec) || defined(__ReadLinkSpec))
  169.         #undef _ReadLinkSpec
  170.         #undef __ReadLinkSpec
  171.         #define SOMGD_ReadLinkSpec 1
  172.     #else
  173.         #define _ReadLinkSpec ODBaseLinkSpec_ReadLinkSpec
  174.     #endif /* _ReadLinkSpec */
  175. #endif /* SOMGD_ReadLinkSpec */
  176. #ifndef SOM_DONT_USE_INHERITED_MACROS
  177. #define ODBaseLinkSpec_InitObject ODObject_InitObject
  178. #define ODBaseLinkSpec_IsInitialized ODObject_IsInitialized
  179. #define ODBaseLinkSpec_HasExtension ODObject_HasExtension
  180. #define ODBaseLinkSpec_GetExtension ODObject_GetExtension
  181. #define ODBaseLinkSpec_ReleaseExtension ODObject_ReleaseExtension
  182. #define ODBaseLinkSpec_Purge ODObject_Purge
  183. #define ODBaseLinkSpec_SubClassResponsibility ODObject_SubClassResponsibility
  184. #define ODBaseLinkSpec_somFree SOMObject_somFree
  185. #define ODBaseLinkSpec_somGetClass SOMObject_somGetClass
  186. #define ODBaseLinkSpec_somGetClassName SOMObject_somGetClassName
  187. #define ODBaseLinkSpec_somGetSize SOMObject_somGetSize
  188. #define ODBaseLinkSpec_somIsA SOMObject_somIsA
  189. #define ODBaseLinkSpec_somIsInstanceOf SOMObject_somIsInstanceOf
  190. #define ODBaseLinkSpec_somRespondsTo SOMObject_somRespondsTo
  191. #define ODBaseLinkSpec_somDispatchV SOMObject_somDispatchV
  192. #define ODBaseLinkSpec_somDispatchL SOMObject_somDispatchL
  193. #define ODBaseLinkSpec_somDispatchA SOMObject_somDispatchA
  194. #define ODBaseLinkSpec_somDispatchD SOMObject_somDispatchD
  195. #define ODBaseLinkSpec_somDispatch SOMObject_somDispatch
  196. #define ODBaseLinkSpec_somClassDispatch SOMObject_somClassDispatch
  197. #define ODBaseLinkSpec_somPrintSelf SOMObject_somPrintSelf
  198. #define ODBaseLinkSpec_somDumpSelf SOMObject_somDumpSelf
  199. #define ODBaseLinkSpec_somDumpSelfInt SOMObject_somDumpSelfInt
  200. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  201.  
  202. #endif       /* SOM_ODBaseLinkSpec_h */
  203.